spark的日志监控(WEB UI 和history server) 您所在的位置:网站首页 spark web ui详解 spark的日志监控(WEB UI 和history server)

spark的日志监控(WEB UI 和history server)

2023-09-09 21:48| 来源: 网络整理| 查看: 265

背景

当我们在跑一个spark任务的时候,如果碰到数据倾斜或者我们想去看下运行参数或者具体的运行情况,这时候我们就需要一个可视化的日志页面,去监控spark的运行。 (注明:大部分知识点是从官方文档翻译,少部分是自己测试,或者在实际项目中的总结。)

官方文档地址:https://spark.apache.org/docs/latest/monitoring.html

1、spark UI

默认情况下,SparkContext都会默认在端口4040上启动一个Web UI,即启动一个application会在端口4040启动一个web UI。如果多个application在同一个主机上运行,则会从4040开始往后顺延,即4041,4042 等(这个在启动日志可以看到),如下所示

20/03/25 11:16:16 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4040. Attempting port 4041. 20/03/25 11:16:16 INFO server.AbstractConnector: Started ServerConnector@61533ae{HTTP/1.1,[http/1.1]}{0.0.0.0:4041} 20/03/25 11:16:16 INFO util.Utils: Successfully started service ‘SparkUI’ on port 4041.

但是默认情况WEB ui只在程序访问期间有效。在一个application结束的时候,就会去关闭此端口,所以页面也就访问不了了。

20/03/25 11:17:17 INFO server.AbstractConnector: Stopped Spark@61533ae{HTTP/1.1,[http/1.1]}{0.0.0.0:4041} 20/03/25 11:17:17 INFO ui.SparkUI: Stopped Spark web UI at http://****:4041

2、history server

spark提供了history server,使其可以在application 完成以后来查看相应的页面。 原理是将spark application执行过程中的信息以及结果保存成一个文件存到相应的路径,然后server端会去指定的位置扫描加载。如下所示

-rwxrwxrwx 3 hadoop hadoop 22165 2019-07-29 07:14 hdfs://beh/var/log/hadoop-spark/application_1544095686986_0001 -rwxrwx— 2 hadoop hadoop 87292 2020-03-25 19:41 hdfs://beh/var/log/hadoop-spark/application_1584768368082_0023

每一个文件使用json保存的一些信息,等待server端的扫描加载

1、配置

1、客户端的配置 在spark-defaults.conf下

spark.eventLog.dir hdfs:///sparkHistory spark.eventLog.enabled true 2、server端的配置 在spark-env.sh 下 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs:///sparkHistory" 2、启动

进入spark根目录的sbin下

./start-history-server.sh

3、参数说明

history server有一些相关的配置,具体的如官网所示 https://spark.apache.org/docs/latest/monitoring.html

4、参数说明、在yarn的UI 界面跳转

在yarn界面链接到spark历史服务器 抱歉之前的写法只是能在访问 ip:18080 这样可以访问,但是如果在yarn UI的界面链接过去是不能的 如这个界面 image.png 如果想点击history 跳转到spark的history界面的话,需要在你的spark-default.conf 中配置 spark.yarn.historyServer.address :18080 ( 就是你启动服务的IP)。 配置好了 然后启动history server 即可连接过去了(猜想应该是去照这个spark-default.conf的配置去了,没有就不跳转)

看下日志,看下端口,是否启动成功 启动成功 则开启了history-server



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有